UNIVERSITÄT TÜBINGEN - ZENTRUM FÜR DATENVERARBEITUNG
Abteilung Literarische und Dokumentarische Datenverarbeitung
Brunnenstraße 27, D-72074 Tübingen
Leiter: Prof. Dr. Wilhelm Ott


Lokale Beschreibung für TUSTEP auf den Anlagen des ZDV: Batch

Zurück zum Inhaltsverzeichnis Zum nächsten vorangehenden Kapitel

5. Ausf^uhren von TUSTEP-Kommandofolgen im Batch

5.1 Batchkontrolle auf dem Text-Server und anderen Workstations

5.2 Batchkontrolle auf dem Compute-Server


5. Ausführen von TUSTEP-Kommandofolgen im Batch

Auf dem Text-Server und Compute-Server (aber nicht im AFS-Pool!)
ist es möglich, Kommandofolgen im Batch ausführen zu lassen. Der
Batchlauf wird mit einem Kommando vom Dialog aus gestartet,  die
Abarbeitung  erfolgt  dann unabhängig von der Dialogsitzung. Das
ist z. B. sinnvoll, damit bei langen Kommandofolgen das Terminal
nicht blockiert ist, um es sofort für andere Arbeiten im  Dialog
freizuhaben  oder  auch  die Dialogsitzung beenden zu können und
nicht auf die Abarbeitung der Kommandofolge warten zu müssen.
   Mit dem Standard-Makro *TUE werden  TUSTEP-Kommandofolgen  im
Batch  ausgeführt. Das Makro entspricht dem Kommando TUE mit al-
len Spezifikationen. Es ergänzt  automatisch  die  für  das  Be-
triebssystem notwendigen Steueranweisungen.
    
Gib Kommando >
 
#*tue,dateiname,segmentname   <CR>
Die Kommandofolge, die in der Datei  
dateiname
  in  dem  Segment

segmentname
 steht, wird im Batch ausgeführt. Die Angabe von wei-
teren Spezifikationen ist wie beim Kommando TUE möglich.
   Für die Ausführung der Kommandofolge im Batch wird  eine  ei-
gene  TUSTEP-Sitzung  initialisiert  (auch TUSTEP.INI wird dabei
abgearbeitet; ggf.  kann  mit  Mitteln  der  Makroprogrammierung
(#makro) eine Verzweigung innerhalb von TUSTEP.INI für Batch und
Dialog  vorgenommen werden). Alle Dateien, die für die Kommando-
folge des Batchlaufs benötigt werden, müssen innerhalb der  Kom-
mandofolge angemeldet bzw. eingerichtet werden. Wird die gesamte
Kommandofolge  ohne  Fehler durchlaufen, so wird am Ende die TU-
STEP-Sitzung dieses Batchlaufes mit NORMIERE beendet, d. h. alle
Scratch-Dateien werden gelöscht. Die Ergebnisse der Kommandofol-
ge, mit denen man weiterarbeiten will, müssen daher in permanen-
ten Dateien abgelegt werden, denn nur sie sind nach  dem  Batch-
lauf zugänglich.
   Ein Protokoll des Batchlaufes  wird  vom  Betriebssystem  ge-
führt. Das Protokoll gibt darüber Auskunft, ob die Kommandofolge
des  Batchlaufs  fehlerfrei  zu Ende gekommen ist. Allein an den
Ergebnisdateien sieht man dies nicht ohne weiteres.  Wie  dieses
Protokoll zugänglich ist, ist abhängig vom Rechner.

Behandlung eines Batchlaufs im Fehlerfall

Wird die Kommandofolge durch einen Fehler  unterbrochen  (Fehler
in  einem  TUSTEP-Kommando,  Abbruch  durch das System), so wird
(außer bei ausgeschaltetem FEHLERHALT)  der  Batchlauf  beendet,
die zu dem Batchlauf gehörende TUSTEP-Sitzung bleibt aber erhal-
ten. Diese TUSTEP-Sitzung kann man dann, wie jede andere TUSTEP-
Sitzung,  im Dialog fortsetzen (Informieren über die vorhandenen
Sitzungen mit 
tustep  @ 
; Aufrufen der Sitzung mit  
tustep  nn
die  Batchsitzung  erkennt  man an der zusätzlichen Angabe BATCH
beim Auflisten der Sitzungen). Man kann mit  der  TUSTEP-Sitzung
weiterarbeiten,  sich Zwischenergebnisse sichern und die TUSTEP-
Sitzung beenden, damit alle dazugehörenden Scratch-Dateien  wie-
der gelöscht werden.

Warnung!

Wird versucht eine laufende Batch-Sitzung im  Dialog  fortzuset-
zen, kommt es zu undefinierten Fehlern. 
Zum Anfang dieses Kapitels

5.1 Batchkontrolle auf dem Text-Server und anderen Workstations

Das Verfahren auf dem Text-Server (AIX-Workstation RS/6000; Name
im Netz 
textserv
) zur Batchkontrolle ist gleich wie auf  anderen
UNIX-Workstations.

Protokoll eines Batchlaufs

Der Batchlauf wird vom System protokolliert. Das Protokoll  wird
als 
mail
 zugeschickt und kann mit den üblichen Mitteln der 
mail
Verwaltung angeschaut werden.
Aufrufen von 
mail
    
% 
 
mail   <CR>
Die 
mail-utility
 meldet sich mit ihrem 
prompt
 (
&
). Es  sind  nun
u. a. die folgende Befehle möglich:
Anschauen der 
mail
 mit der Nummer 
nn
    
& 
 
nn   <CR>
Abspeichern der 
mail
 mit der Nummer 
nn
  in  eine  SDF-Datei,  um
diese ggf. mit TUSTEP- Mitteln anschauen zu können:
    
& 
 
save nn dateiname   <CR>
Löschen der 
mail
 mit der Nummer 
nn
    
& 
 
del nn   <CR>
Verlassen der 
mail-utility
    
& 
 
quit   <CR>
(Detaillierte Informationen zum Umgang mit 
mail
 stehen  auf  dem

x400link
  in  der  Datei  
/usr/local/info/mail.readme
 zur Verfü-
gung.)

Status des Batchlaufs

Informationen über den Status des Batchlaufs bekommt man mit dem
Befehl:
    
% 
 
ps ux   <CR>
Ist der Batchlauf hier nicht mehr zu finden, so ist er  beendet,
und das Protokoll steht als 
mail
 zur Verfügung.
   Aufgelistet werden alle laufenden Prozesse des Users mit fol-
genden Informationen:
PID      Prozeß-ID, mit der der Prozeß im System eindeutig iden-
         tifiziert wird.
STAT     Status des Prozesses (
R
 = Running;  Informationen  über
         die weiteren Abkürzungen mit 
man ps
STIME    Startzeit des Prozesses.
TIME     Verbrauchte Zeit des Prozesses. Gibt man den  
ps
-Befehl
         mehrmals,  kann  man an der Änderung dieser Zahl erken-
         nen, daß der Prozeß arbeitet.
COMMAND  Kommando, das der Prozeß ausführt.  Den  Batchlauf  er-
         kennt  man  an  dem Kommando 
/soft/tustep/xx
, das durch
         ihn ausgeführt wird.

Abbrechen eines Batchlaufs

Über die Prozeß-ID 
PID
, die man durch 
ps ux
 (s. o.) erhält, kann
der Batchlauf abgebrochen werden:
    
% 
 
kill -9 PID   <CR>
 
Zum Anfang dieses Kapitels

5.2 Batchkontrolle auf dem Compute-Server

Der Compute-Server hat gegenüber den  Workstations  ein  anderes
Verfahren der Batchkontrolle.

Warteschlangen für die Batchabarbeitung

Auf dem Compute-Server gibt es für Batchläufe fünf  Warteschlan-
gen  für  verschiedenen  Zeitbedarf,  die  mit unterschiedlicher
Priorität behandelt werden (siehe BI 92/11+12, S. 8). Batchläufe
mit großem Bedarf an CPU-Zeit  werden  mit  niedriger  Priorität
behandelt,  d. h.  sie haben in Konkurrenz mit anderen laufenden
Programmen nur ein geringes Anrecht auf CPU-Leistung; Batchläufe
mit wenig Bedarf an CPU-Zeit bekommen eine hohe  Priorität.  Er-
reicht  ein  Batchlauf das Zeitlimit seiner Schlange, so wird er
vom System abgebrochen. Die Schlangen sind:
Name        alternative Namen                          Zeitlimit
short       s, SHORT, S, short_queue                      15 min
normall     n                                             60 min
long        l, LONG, L, long_queue                      4 h
verylong    v, VERYLONG, very, V, verylong_queue       24 h
extralong   e, extra                                   72 h
Bringt man eine Kommandofolge mit *TUE zur Ausführung im  Batch,
so  kann  zu  der Spezifikation ZUSATZ eine zuvor definierte Sy-
stemvariable angegeben werden,  die  besagt,  in  welche  Warte-
schlange  der Batchlauf kommen soll. Wird zu ZUSATZ nichts ange-
geben, so kommt der Batchlaufe in die Schlange 
normal
   Die Definition der Systemvariablen sieht folgendermaßen aus:
    
Gib Kommando >
 
setenv VARIABLE "-q queuename"   <CR>
Beispiel:
Will man die Kommandofolge der  Datei  STAPEL  in  der  Schlange

short
,  die  man  mit der Variablen KURZ angeben will, ausführen
lassen, sind folgende zwei Befehle nötig:
    
% 
 
setenv KURZ "-q short"   <CR>
    
Gib Kommando >
 
#*tue, stapel, zusatz=kurz   <CR>
Hinweis:
Wer häufig Kommandofolgen im Batch ausführt, wird sich die  ent-
sprechenden  Systemvariablen in der Datei 
.cshrc
 definieren, da-
mit sie immer zur Verfügung stehen.
   Die Spezifikation ZUSATZ gibt es genauso auch bei den Magnet-
band-Makros *MBL, *MBA, *MBI, *MBE und *MBK.

Protokoll eines Batchlaufs

Der Batchlauf wird vom System protokolliert und in  einer  Datei
ausgegeben.  Die  Datei  taucht in der Dateiliste (Auflisten mit
UNIX-Befehl 
ls
; das TUSTEP-Kommando 
#li,da
 zeigt die Datei nicht
an, da ihr Name nicht den TUSTEP- Konventionen entspricht)  auf,
sobald  der Batchlauf abgearbeitet oder durch einen Fehler been-
det ist. Die Datei heißt:
         SCR.nnn.oxxxxx
(
nnn
 steht für die dreistellige Nummer  der  Dialogsitzung,  von
der  der  Batchlauf abgesetzt wurde; 
xxxxxx
 steht für eine fünf-
stellige laufende Nummer des Batchlaufs, die vom System vergeben
wird; z. B. SCR.001_o10785).
Die Protokoll-Datei läßt sich mit den  Mitteln  des  Betriebssy-
stems  anschauen  (z. B.  
more
) oder in eine Datei mit einem den
TUSTEP-Konventionen entsprechenden Namen umbenennen, um sie  mit
TUSTEP-Mitteln anschauen zu können (z. B. 
mv SCR.001_o10785 out-

put
   Tauchen während der Abarbeitung des  Batchlaufs  Systemfehler
auf, so werden sie in der Datei
         SCR.nnn.exxxxx
protokolliert.
   Die beiden Protokoll-Dateien sind permanente Dateien, die man
- um Platz zu sparen - wieder löschen sollte (z. B. 
rm SCR.*.*

Status des Batchlaufs

Mit dem Befehl 
qstat
 kann man die Warteschlangen abfragen, um zu
sehen, ob der eigene  Batchlauf  wartet  (QUEUE)  oder  arbeitet
(RUNNING).  Ist  der Batchlauf hier nicht mehr zu finden, so ist
er beendet und die Datei mit dem Protokoll steht in der Dateili-
ste.
Abfragen aller Warteschlangen:
    
% 
 
qstat   <CR>
Abfragen einer bestimmten Warteschlange (z. B. 
qstat short
    
% 
 
qstat queuename   <CR>
Man erhält dabei für den eigenen Batchlauf die  
request-id
,  mit
der er im System identifiziert werden kann.
Abfragen einer bestimmten Warteschlange nach  ausführlicher  In-
formation für den eigenen Batchlauf:
    
% 
 
qstat -l queuename   <CR>
Abfragen einer bestimmten Warteschlange nach kurzer  Information
für alle Batchläufe:
    
% 
 
qstat -a queuename   <CR>

Löschen eines Batchlaufs aus der Schlange

Über die 
request-id
, die man durch 
qstat
 (s. o.)  bekommt,  kann
der Batchlauf wieder aus der Schlange entfernt werden oder seine
Abarbeitung abgebrochen werden:
    
% 
 
qdel -9 request-id   <CR>
Zum Anfang dieses Kapitels
tustep@zdv.uni-tuebingen.de - Stand: 23.04.96